A method using an Ising unit (which may also be referred to as a Boltzmann machine) using an Ising-type energy function is known as a method for solving multivariable optimization problem at which Neumann type computers are poor. An Ising unit performs a calculation by replacing a problem to be calculated with an Ising model indicative of the behavior of the spin of a magnetic material.
An Ising unit also performs modeling by the use of a neural network. In that case, each of a plurality of units (bits) included in the Ising unit functions as a neuron which outputs “0” or “1” as a state value according to the state of another bit and a weighting value (which is also referred to as a coupling coefficient) indicative of coupling strength between another bit and each bit itself. The Ising unit finds, by simulated annealing or the like, as a solution a combination of a state value of each neuron by which the minimum value of the above energy function (which is also referred to as a cost function or an objective function) is obtained.
Formerly reducing calculation time by realizing an Ising unit by hardware was proposed.
Furthermore, the following technique is proposed. Each of a plurality of Ising units realized by hardware is made to function as one neuron, and a parallel process is performed. However, update of only one of the plurality of neurons is allowed with the convergence of calculation taken into consideration.
Japanese Laid-open Patent Publication No. 03-100857
International Publication Pamphlet No. WO 2014/192153
NICHOLAS METROPOLIS, ARIANNA W. ROSENBLUTH, MARSHALL N. ROSENBLUTH, AUGUSTA H. TELLER, AND EDWARD TELLER, “Equation of State Calculations by Fast Computing Machines”, THE JOURNAL OF CHEMICAL PHYSICS VOLUME 21, NUMBER 6, June, 1953
If each of a plurality of Ising units is made to function as one neuron and a parallel process is performed, one neuron whose update is allowed may randomly be selected. However, a selected neuron does not always make a state transition. There may be cases where many neurons which do not make a state transition are selected. As a result, even if a parallel process is performed, a calculation speed is not appreciably improved.